home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / simcode.arc / DOHELP.PAS < prev    next >
Pascal/Delphi Source File  |  1984-10-14  |  1KB  |  60 lines

  1. {$symtab-,$linesize:131,$pagesize:86,
  2. $title:'DOHELP -- Help menu processor'}
  3. {    COPYRIGHT @ 1982
  4.     Jim Holtman and Eric Holtman
  5.     35 Dogwood Trail
  6.     Randolph, NJ 07869
  7.     (201) 361-3395
  8. }
  9.  
  10.  module helpscreen;
  11.  
  12.     type
  13.        menu_c = super array [1..*] of lstring(40);
  14.  
  15.     function showit(var choices : menu_c;
  16.      const title : lstring ) : integer;
  17.  
  18.        external;
  19.  
  20.     procedure do_help(h : integer) [public];
  21.  
  22.        var
  23.       men : menu_c(20);
  24.       txt : text;
  25.       i,j,k : integer;
  26.       buf : lstring(80);
  27.       title : lstring(80);
  28.  
  29.        begin
  30.       assign(txt, 'help.txt');
  31.       reset(txt);
  32.       buf.len := 0;
  33.       while not eof(txt) do begin
  34.          readln(txt, buf);
  35.          if (buf[1] <> '#') or (buf[2] <> '#') or (buf[3] <> '#') then
  36.           cycle;
  37.          delete(buf, 1, 4);
  38.          if (decode(buf, i) = false) then cycle;
  39.          if (i <> h) then cycle;
  40.          readln(txt, title);
  41.          i := 1;
  42.          while (not eof(txt)) do begin
  43.         readln(txt, men[i]);
  44.         i := i + 1;
  45.         if (men[i-1].len = 0) or (eof(txt)) then begin
  46.            men[i].len := 0;
  47.            j:=showit(men, title);
  48.            close(txt);
  49.            return;
  50.            end;
  51.         end;
  52.          end;
  53.       title := 'No help for that option is available now';
  54.       men[1].len := 0;
  55.       j:=showit(men, title);
  56.       close(txt);
  57.       return;
  58.       end;
  59.  end.
  60.